package com.uade.tp.controlador;

import java.util.Vector;

import com.uade.tp.negocio.Comida;
import com.uade.tp.negocio.Producto;
import com.uade.tp.negocio.Receta;
import com.uade.tp.negocio.Seccion;
import com.uade.tp.persistencia.AdministradorPersistenciaReceta;

/**
 * Clase que se encarga especificicamente de realizar las busquedas
 *
 */
public class DeliveryBuscador {
	
	
	/*************************************************************************/
	/*****************************SECCION*************************************/
	/*************************************************************************/
	/*************************************************************************/
	public Seccion buscarSeccion(String nombreSeccion,Vector<Seccion> secciones)
	{
		Seccion s = new Seccion();
		boolean existe = false;
		int i=0;
		while (!existe && i<secciones.size())
		{
			s = secciones.elementAt(i);
			if (s.getNombre().equals(nombreSeccion))
			{
				existe = true;
				return s;
			}
			i++;
		}
		Seccion s1 = Seccion.buscarSeccion(nombreSeccion);
		if (s1!=null)
			secciones.add(s1);
		return  s1;
	}

	

	/*************************************************************************/
	/*****************************PRODUCTOS***********************************/
	/*************************************************************************/
	/*************************************************************************/
	
	
	
	public Producto buscarProducto(String nombre,Vector <Producto> productos)
	{ 
		Producto p= new Producto();
		boolean existe = false;
		int i=0;
		while (!existe && i<productos.size())
		{
			p = productos.elementAt(i);
			if (p.getNombre().equals(nombre))
			{
				existe = true;
				return p;
			}
			i++;
		}
		Producto p1 = Producto.buscarProducto(nombre);
		if (p1!=null)
			productos.add(p1);
		return  p1;
	}
	
	/*************************************************************************/
	/*****************************COMIDAS*************************************/
	/*************************************************************************/
	/*************************************************************************/

	public Comida buscarComida(String nombre,Vector<Comida> comidas)
	{
		Comida c= new Comida();
		boolean existe = false;
		int i=0;
		while (!existe && i<comidas.size())
		{
			c = comidas.elementAt(i);
			if (c.getNombre().equals(nombre))
			{
				existe = true;
				return c;
			}
			i++;
		}
		Comida c1 = Comida.buscarComida(nombre);
		if (c1!=null)
			comidas.add(c1);
		return  c1;
	}
	
	/*************************************************************************/
	/*****************************RECETAS*************************************/
	/*************************************************************************/
	/*************************************************************************/
	
	public Receta buscarReceta(String nombre,Vector<Receta> recetas){
		for(Receta r:recetas){
			if(r.getNombre().equals(nombre)){
				return r;				
			}			
		}
		
		Receta r = AdministradorPersistenciaReceta.getInstancia().buscarReceta(nombre);
		
		recetas.add(r);
		return r;
	}


}
